home *** CD-ROM | disk | FTP | other *** search
/ PC Answers 2003 September / PC Answers September 2003.iso / Software / trial / MonitorIT 5.2.06 / monitorit_fullsetup.exe / data1.cab / Rpm / ViewEventLogs.asp < prev    next >
Encoding:
Text File  |  2003-06-24  |  38.3 KB  |  966 lines

  1. <html>
  2. <head>
  3. <title>EventLog Viewer</title>
  4.  
  5. <link rel="stylesheet" type="text/css" href="css/rpmstyle.css">
  6. <style>
  7.  
  8. .EventLog { border-style : solid; border-width : 3px; overflow : scroll;  background-color:white }
  9. .EventLog { border-top-color : graytext; border-left-color : graytext; border-bottom-color : white; border-right-color : white}
  10.  
  11. .VAMainBox { border: none; background-color : activeborder }
  12.  
  13. .PopUpBox { margin:0; padding:0; overflow : scroll; height:98%;  }
  14. .PopUpBox { border-style : solid; border-width : 2px; overflow : scroll;  background-color:white }
  15. .PopUpBox { border-top-color : #555555; border-left-color : #555555; border-bottom-color : #E0E0E0; border-right-color : #E0E0E0 }
  16.  
  17. .PopUpSSBox { background-color:activeborder; position:absolute; margin:0; padding:0; border : solid thin; }
  18. .PopUpSSBox { border-top-color : #E0E0E0; border-left-color : #E0E0E0; border-bottom-color : #555555; border-right-color : #555555 }
  19.  
  20. </style>
  21. </head>
  22.  
  23. <body class="bodyc" scroll="no" style="margin:3px; overflow: none"language="JavaScript" RPMHostIP="!BreakoutBot:MonitorIP!" RPMHostPort="!BreakoutBot:MonitorPort!" RPMUserName="!BreakoutBot:UserName!" UserRights="!BreakoutBot:UserRights!"  BOBDone="!BreakoutBot:Done!" onclick="checkClick()" onkeydown="processBSP()"
  24. onload="top.banner.savePageCoord(event,document.body,'ViewEventLogs'); InitRpmCC_VA();" onbeforeunload="DiscoRpmCC_VA()" onresize="processSizeChange()">
  25.  
  26. <script LANGUAGE="JavaScript">
  27. <!--
  28. var bdH = 0;
  29. var byM = null;
  30. var borderSz = 2; // Thin Bord is 2pixels
  31. var Tid = null, RTid= null;
  32. var ELogWinInit = ""; // save for ElogWin init HTML
  33. var ELBgFlg = 0; // Log Background color toggle
  34. var PuPW = "460px", PuPWu=460, PuPH = "250px",PuPHu=250;
  35. var PopUH = 0;
  36. var PopUL = 0;
  37. var TitleTop = ButtonTop = 0;
  38. var TitleLeft = ButtonLeft = 0;
  39. var SpecificationsMade = false;
  40. var Hp = null; // Host port
  41. var ReconnectEvent = false;
  42. var Lindx = 0;
  43. var RcvMsgQueue = new Array(), RcvMsgQueueCount = 0, RcvMsgQueueIx = 0;
  44. var marr = new Array();
  45. var sarr = new Array();
  46. var cmsg = "", mtypen = "0", mtype = "Apl", FOps = "", msgcnt = 0, msgnext = 0;
  47. var LogType = new Array("Application","Security","System","Directory Service","DNS Server","File Replication Service");
  48. var cStatMsg = "";
  49. var ALupMode = "";
  50. var selectImage = "sEventViewer.gif";
  51.  
  52. // Capture and ignore script errors
  53.     window.onerror = wwScrErr;
  54. function wwScrErr() {
  55.     return true;
  56. }
  57.  
  58. /* On Load tell the Comm control to Connect to the Server */
  59. function InitRpmCC_VA() {
  60.     top.MainLoaded = true; // Flag that Main is now loaded
  61.     top.banner.savePageCoord(event,document.body,"ViewEventLogs");
  62.     byM = 2*parseFloat(document.body.style.margin);
  63.     processSizeChange();
  64.  
  65.     var dob = new Date(); // get current d/t
  66.     var cmins = (dob.getMinutes() < 10) ? "0"+dob.getMinutes() : dob.getMinutes();
  67.     var lt = (dob.getMonth()+1) + "/" + dob.getDate() + "/" + dob.getFullYear();
  68.     lt += " " + dob.getHours() + ":" + cmins;
  69.     edt.value = " "+lt;
  70.     dob.setTime( dob.getTime()-86400000 ); // get current d/t minus 1 day
  71.     var cmins = (dob.getMinutes() < 10) ? "0"+dob.getMinutes() : dob.getMinutes();
  72.     var lt = (dob.getMonth()+1) + "/" + dob.getDate() + "/" + dob.getFullYear();
  73.     lt += " " + dob.getHours() + ":" + cmins;
  74.     sdt.value = " "+lt;
  75.  
  76.       /* Connect to Server */
  77.     Hp = parseInt(document.body.RPMHostPort,10);
  78.     RpmCC_AL.Connect(document.body.RPMHostIP,Hp, "");
  79. }
  80. function processReconnect() {
  81.     Tid = null;
  82.     if ( RpmCC_AL.IsConnected() ) {
  83.         Tid = setTimeout("processConnectionCheck()",30000); // Delay 30 secs then check connection
  84.         return;
  85.     }
  86.     RpmCC_AL.Connect(document.body.RPMHostIP,Hp, ""); 
  87. }
  88. function processConnectConfirmed() {
  89.     // Restore Filter and Computer Store    
  90.     if ( ReconnectEvent == false ) {
  91.          processLogWindow(); // initialize Log Window
  92.          processInitialLookup("ELCompLookup");
  93.         ReconnectEvent = true;
  94.     }
  95.     top.Rstatus.Pstat("Connected");
  96.     if ( Tid != null ) {
  97.         clearTimeout(Tid); // stop timeout routine
  98.     }
  99.     Tid = setTimeout("processConnectionCheck()",30000); // Delay 30 secs then check connection
  100. }
  101. function processConnectionCheck() {
  102.     Tid = null;
  103.     RpmCC_AL.SendKeepAlive("Check");
  104.     Tid = setTimeout("processConnectionCheck()",30000); // Delay 30 secs then check connection
  105. }
  106.  
  107. /* On Unload tell the Comm control to Disconnect from the Server */
  108. function DiscoRpmCC_VA() {
  109.     top.BannerMenuShow();
  110.     RpmCC_AL.Disconnect();
  111.     top.banner.processStopCommX();
  112.     if ( Tid != null ) {
  113.         clearTimeout(Tid); // stop timeout routine
  114.     }
  115.     if ( RTid != null ) {
  116.         clearTimeout(RTid); // stop timeout routine
  117.     }
  118. }
  119.  
  120. var SCbsy = false;
  121. function processSizeChange() {
  122.     if ( SCbsy ) 
  123.         return;
  124.     SCbsy = true;
  125.     // Display Height and Width
  126.     bCh = document.body.clientHeight;
  127.     bCw = document.body.clientWidth;
  128.     
  129.     // Minimums
  130.     bCh = (bCh < bdH+byM+PuPHu+20) ? bdH+byM+PuPHu+20 : bCh;
  131.     bCw = (bCw < PuPWu+10) ? PuPWu+10 : bCw;
  132.    document.body.scroll = (bCw <= PuPWu+10 || bCh <= bdH+byM+PuPHu+20) ? "yes" : "no";
  133.  
  134.    // Set Height/Widths for Main window area
  135.     VA_MainBox.style.height = bCh-(bdH+byM-borderSz)-4;
  136.     VA_MainBox.style.width = bCw-byM-4;
  137.     VA_MainBox.style.display = "";
  138.    
  139.    // PopUp 
  140.    PopUpDiv.style.left = PopUL = (bCw-PuPWu)/2;
  141.    PopUpDiv.style.top = "10px"; 
  142.    PopUpDiv.style.height = PopUH = bCh-(bdH+byM-borderSz)-100;
  143.    PopUpDiv.style.width = PuPW;
  144.    AL_CCOneEventLog.style.height = PopUH-210;
  145.  
  146.     //PopUpContext Menu
  147.    PopUpContextSize(bCw);
  148.   
  149.    // Set Height/Widths for Log areas
  150.     ELogWin.style.height = bCh-(bdH+byM-borderSz)-TitleDivSize;
  151.     ELogWin.style.width = bCw-byM-10;
  152.     SCbsy = false;
  153. }
  154.  
  155. // Print Event Log Data
  156. var DiscStatWindow = null;
  157. function processPrintStatus() {
  158.     if ( !top.banner.IE55orBetter ) {
  159.         alert("Print requires IE 5.5/SP1 or greater. Download current, free IE update from Microsoft's web site");
  160.         return;
  161.     }
  162.     FakeBut.click();    // simulate event to call "savePageCoord(...)"
  163.     var wprop = "height="+top.banner.bCh+",width="+top.banner.bCw
  164.     wprop += ",top="+(top.banner.bY-28)+",left="+(top.banner.bX-4)+",scrollbars";
  165.     var rName = ""+Math.random(); // use Random number to get unique Window name
  166.     rName = rName.substring(2,rName.length);
  167.     DiscStatWindow = window.open("",rName,wprop);
  168.     if ( DiscStatWindow == null ) {
  169.         return;   
  170.     }
  171.     var dh = "<html><head><title>MonitorIT - Event Log Report</title>";
  172.     dh += "<link rel='stylesheet' type='text/css' href='css/rpmstyle.css'></head><body";
  173.     dh += " title='Exit to Close Window when Printing is complete'>"; 
  174.     dh += ELogWin.innerHTML;
  175.     dh += '<script LANGUAGE="JavaScript">HdrTable.border="1"; ploghdr1.width="18"; ploghdr2.width="28"; ploghdr3.width="170"; ploghdr4.width="101"; ploghdr5.width="126"; ploghdr6.width="46"; ploghdr7.width="58"; window.focus();';
  176.     dh += ' </script></body></html>';
  177.     DiscStatWindow.document.open();
  178.     DiscStatWindow.document.write(dh)
  179.     DiscStatWindow.document.close();
  180.     DiscStatWindow.print();
  181. }
  182.  
  183. function processFilterSet() {
  184.     // Get saved Log & Computer Sopecifications
  185.     //var elCmp = RpmCC_AL.RegGetKey(top.banner.ServerID+"EventLogComputers");
  186.     var elCh = RpmCC_AL.RegGetKey(top.banner.ServerID+"EventLogChoice");
  187.     var ChArr = new Array, CmpArr = new Array;
  188.     
  189.     // Setup the Selected Logs
  190.     if ( elCh.length <= 8 ) {
  191.         elCh = "false~false~false~false~false~false~false~false~false~false~false~false";
  192.     }
  193.     var ChArr = elCh.split("~");
  194.     LogAppl.checked = ( ChArr[0] == "true" ) ? "CHECKED" : "";
  195.     LogSec.checked = ( ChArr[1] == "true" ) ? "CHECKED" : "";
  196.     LogSys.checked = ( ChArr[2] == "true" ) ? "CHECKED" : "";
  197.     LogDir.checked = ( ChArr[3] == "true" ) ? "CHECKED" : "";
  198.     LogDns.checked = ( ChArr[4] == "true" ) ? "CHECKED" : "";
  199.     LogRep.checked = ( ChArr[5] == "true" ) ? "CHECKED" : "";
  200.     EventErr.checked = ( ChArr[6] == "true" ) ? "CHECKED" : "";
  201.     EventWarn.checked = ( ChArr[7] == "true" ) ? "CHECKED" : "";
  202.     EventInfo.checked = ( ChArr[8] == "true" ) ? "CHECKED" : "";
  203.     EventSec.checked = ( ChArr[9] == "true" ) ? "CHECKED" : "";
  204.     ExclCat.checked = ( ChArr[10] == "true" ) ? "CHECKED" : "";
  205.     ExclCMsg.checked = ( ChArr[11] == "true" ) ? "CHECKED" : "";
  206. }
  207.  
  208. /* Initialize the Log and Filter Windows */
  209. function processLogWindow() {
  210.     /* Format Output to Log Window */
  211.     FOps = "<table id='HdrTable' border='0' cellpadding='1' cellSpacing='1' width='1200'><tr>";
  212.     FOps += "<td id='ploghdr1' width='20' align='center' title='Sort Log Entries by Log Type' onclick='processSort(1)' style='cursor:hand; background-color:activeborder' class='optextb'>";
  213.     FOps += "Log" + "</td>";
  214.     FOps += "<td id='ploghdr2' width='30' align='center' title='Sort Log Entries by Event Type' onclick='processSort(2)' style='cursor:hand; background-color:activeborder' class='optextb'>";
  215.     FOps += "Type" + "</td>";
  216.     FOps += "<td id='ploghdr3' width='175' align='center' title='Sort Log Entries by Computer Name' onclick='processSort(3)' style='cursor:hand; background-color:activeborder' class='optextb'>";
  217.     FOps += "Server/Computer Name" + "</td>";
  218.     FOps += "<td id='ploghdr4' width='105' align='center' title='Sort Log Entries by Event Source' onclick='processSort(4)' style='cursor:hand; background-color:activeborder' class='optextb'>";
  219.     FOps += "Source" + "</td>";
  220.     FOps += "<td id='ploghdr5' width='130' align='center' title='Sort Log Entries by Date/Time' onclick='processSort(5)' style='cursor:hand; background-color:activeborder' class='optextb'>";
  221.     FOps += "Date/Time" + "</td>";
  222.     FOps += "<td id='ploghdr6' width='48' align='center' title='Sort Log Entries by Event ID' onclick='processSort(6)' style='cursor:hand; background-color:activeborder' class='optextb'>";
  223.     FOps += "Event ID" + "</td>";
  224.     FOps += "<td id='ploghdr7' width='60' align='center' title='Sort Log Entries by Event Category' onclick='processSort(7)' style='cursor:hand; background-color:activeborder' class='optextb'>";
  225.     FOps += "Category" + "</td>";
  226.     FOps += "<td width='*' align='center' style='background-color:activeborder' class='optextb'>";
  227.     FOps += "Event Description" + "</td>";
  228.     FOps += "</tr></table>";
  229.     ELogWin.insertAdjacentHTML("afterBegin",FOps);
  230.      ELogWinInit = ELogWin.innerHTML; // save for clear log
  231. }
  232.  
  233. // Process Header Column Click and Sort Accordingly
  234. var LogSortCode = 1;
  235. var SArray = new Array();
  236. var Sortnext = 0;
  237. function processSort(sortcode) {
  238.     if ( RTid != null ) 
  239.         return;//ignore if busy
  240.     LogSortCode = sortcode;
  241.     top.Rstatus.Pstat("Please wait for Sorting!");
  242.     goSetWait();
  243.     // create an array to sort on the specified parameter
  244.     for ( var i=0, j=0; i<LogArray.length; i+=LogArrayLength, j++) {
  245.         SArray[j] = LogArray[i+LogSortCode]+"???"+LogArray[i]+"???"+LogArray[i+1];
  246.     }
  247.     SArray.sort(); // now sort it
  248.     
  249.     processClearButton(); // initailize
  250.     CheckSetForExcluded(); // Check log header width
  251.     Sortnext = 0; // reset
  252.     FOps = ""; // initialize
  253.     RTid = setTimeout("processSortGo()",5); // Delay, then process
  254. }
  255. function processSortGo() {
  256.     var warr = new Array();
  257.     var msgcnt = SArray.length;
  258.     // Now go reprocess and display
  259.     for ( var i=Sortnext, curcnt=0; i<SArray.length && curcnt<10; ++i, curcnt++ ) {
  260.         warr = SArray[i].split("???"); // parse out the orig message
  261.         mtypen = warr[2];
  262.         mtype = "Apl"; 
  263.         if ( mtypen == "1" ) { mtype = "Sec"; }
  264.           else if ( mtypen == "2" ) { mtype = "Sys"; }
  265.           else if ( mtypen == "3" ) { mtype = "Dir"; }
  266.           else if ( mtypen == "4" ) { mtype = "Dns"; }
  267.           else if ( mtypen == "5" ) { mtype = "Rep"; }
  268.         sarr = warr[1].split("\n"); // parse out fields
  269.         processLogOutputEntry();
  270.         ++Lindx;
  271.     }
  272.     ELogText.insertAdjacentHTML("beforeEnd",FOps);
  273.     FOps = ""; // reinitialize
  274.     if ( i >= SArray.length ) { // if done
  275.         RTid = null; // flag done
  276.         goResetWait();
  277.         top.Rstatus.Pstat("Done");
  278.         return;
  279.     }
  280.     else { // otherwise pause
  281.         Sortnext = i; // save next
  282.         top.Rstatus.Pstat("Processed Messages: "+Sortnext+" - "+Math.round((i*100)/msgcnt)+" %");
  283.         RTid = setTimeout("processSortGo()",5); // Delay, then process
  284.     }
  285. }
  286.  
  287. /* Process Clear Log button click */
  288. function processClearButton() {
  289.     ELogWin.innerHTML = ELogWinInit; // clear log
  290.     ELBgFlg = 0; 
  291.     Lindx = 0; // reset
  292.    //StatusPrintButton.className = "BoxButtonD"; // disable button
  293.    StatusPrintButton.disabled = "disabled"; // disable button   
  294. }
  295.  
  296. var XCat = "0";
  297. var XCm = "0";
  298. var NextLogReadIndex = 0;
  299. var NextLogReadComputer = 0;
  300. var curComputerEventLogRead = null;
  301. function processEventLogRead() {
  302.     var CMax = CompRecCount * CompRecLength;
  303.     var Rstatus = false;
  304.     RcvMsgQueueCount = 0;
  305.     RcvMsgQueueIx = 0;
  306.     RTid = null; // flag done
  307.     CheckSetForExcluded();
  308.     var dtrange = esdt+"~"+eedt;
  309.     for ( var i=NextLogReadComputer; i<CMax; i+=CompRecLength, NextLogReadIndex=0 ) {
  310.          if ( AC_CompStoreArr[i+4] == "1" ) {
  311.              curComputerEventLogRead = AC_CompStoreArr[i+2]; // Computer Name
  312.              if( NextLogReadIndex == 0 ) {
  313.                  ++NextLogReadIndex;
  314.                  if ( LogAppl.checked ) {
  315.                     RpmCC_AL.ReadEventLog(AC_CompStoreArr[i],0,dtrange,XCat,XCm);
  316.                      Rstatus = true;
  317.                     break;
  318.                  }
  319.              }
  320.              if ( NextLogReadIndex == 1 ) {
  321.                  ++NextLogReadIndex;
  322.                  if ( LogSec.checked ) {
  323.                     RpmCC_AL.ReadEventLog(AC_CompStoreArr[i],1,dtrange,XCat,XCm);
  324.                      Rstatus = true;
  325.                     break;
  326.                 }
  327.              }
  328.               if ( NextLogReadIndex == 2 ) {
  329.                  ++NextLogReadIndex;
  330.                 if ( LogSys.checked ) {
  331.                     RpmCC_AL.ReadEventLog(AC_CompStoreArr[i],2,dtrange,XCat,XCm);
  332.                      Rstatus = true;
  333.                     break;
  334.                 }
  335.              }
  336.              if( NextLogReadIndex == 3 ) {
  337.                  ++NextLogReadIndex;
  338.                  if ( LogDir.checked ) {
  339.                     RpmCC_AL.ReadEventLog(AC_CompStoreArr[i],3,dtrange,XCat,XCm);
  340.                      Rstatus = true;
  341.                     break;
  342.                  }
  343.              }
  344.              if ( NextLogReadIndex == 4 ) {
  345.                  ++NextLogReadIndex;
  346.                  if ( LogDns.checked ) {
  347.                     RpmCC_AL.ReadEventLog(AC_CompStoreArr[i],4,dtrange,XCat,XCm);
  348.                      Rstatus = true;
  349.                     break;
  350.                 }
  351.              }
  352.               if ( NextLogReadIndex == 5 ) {
  353.                  ++NextLogReadIndex;
  354.                 if ( LogRep.checked ) {
  355.                     RpmCC_AL.ReadEventLog(AC_CompStoreArr[i],5,dtrange,XCat,XCm);
  356.                      Rstatus = true;
  357.                     break;
  358.                 }
  359.              }
  360.         }
  361.     }
  362.     if ( Rstatus ) {
  363.         NextLogReadComputer = i; // save for next time
  364.         top.Rstatus.Pstat("Starting read for "+curComputerEventLogRead+"'s "+LogType[NextLogReadIndex-1]+" Log");
  365.           SetCursor("wait");
  366.           top.banner.processStartComm();
  367.     }
  368.     else {
  369.         if ( LogArray.length == 0 ) {
  370.             WarningBox1.style.display = "";
  371.         }
  372.         goResetWait();
  373.         top.Rstatus.Pstat("Done");
  374.     }    
  375. }
  376. function processNoAgentConnection(na_cid) {
  377.     var CMax = CompRecCount * CompRecLength;
  378.     for ( var i=0; i<CMax; i+=CompRecLength ) {
  379.          if ( na_cid == AC_CompStoreArr[i] ) {
  380.             top.Rstatus.Pstat("Currently, no connection with "+AC_CompStoreArr[i+2]+"; Try Event Log read later",true);
  381.             goResetWait();
  382.             break;
  383.         }
  384.     }
  385. }
  386. // Check if Category and/or Complete Message Excluded & Adjust Accordingly
  387. function CheckSetForExcluded() {
  388.     if ( ExclCat.checked ) {
  389.         XCat = "0";
  390.     }
  391.     else {
  392.         XCat = "1";
  393.     }
  394.     if ( ExclCMsg.checked ) {
  395.         XCm = "0";
  396.     }
  397.     else {
  398.         XCm = "1";
  399.     }
  400. }
  401.  
  402. // Process Event Log Header Message
  403. var LogArray = new Array();
  404. var LogArrayIx = 0;
  405. var LogArrayLength = 8;
  406. function processEventLogHeader(elhText) {
  407.     sarr = elhText.split("\n"); // parse out fields
  408.     // Determine Log type
  409.     mtype = "Apl"; mtypen = "0";
  410.     if ( sarr[1] == "1" ) { mtype = "Sec"; mtypen = "1" }
  411.     else if ( sarr[1] == "2" ) { mtype = "Sys"; mtypen = "2" }
  412.     else if ( sarr[1] == "3" ) { mtype = "Dir"; mtypen = "3" }
  413.     else if ( sarr[1] == "4" ) { mtype = "Dns"; mtypen = "4" }
  414.     else if ( sarr[1] == "5" ) { mtype = "Rep"; mtypen = "5" }
  415.  
  416.     msgcnt = parseInt(sarr[2],10); // number of messages to process
  417.     msgnext = 0; // initialize loop count
  418.     if ( msgcnt <= 0 ) { // exit if no records
  419.         RTid = setTimeout("processEventLogRead()",10); // Delay 10 msecs, then check next
  420.         return;
  421.     }
  422.     WarningBox.style.display = "none";
  423.     goSetWait();
  424.     cStatMsg = "Processing "+LogType[mtypen]+" Log for "+curComputerEventLogRead;
  425.     top.Rstatus.Pstat(cStatMsg);
  426. }
  427.  
  428. // Process Event Log Record Message
  429. function processEventLogRecord() {
  430.     FOps = ""; // initialize output string
  431.         
  432.     // Process Up to 10 Messages then pause
  433.     for ( var i=msgnext, curcnt=0; i<msgcnt && curcnt<10; i++, curcnt++ ) {
  434.         if ( RcvMsgQueueIx >= RcvMsgQueueCount ) { // if caught up
  435.             top.Rstatus.Pstat(cStatMsg+"; Message Processed Count is: "+i);
  436.             msgnext = i; // save next
  437.             RTid = null; // flag waiting
  438.             return;
  439.         }
  440.         ml = RcvMsgQueue[RcvMsgQueueIx]; // get next message
  441.         RcvMsgQueue[RcvMsgQueueIx++] = null; // clear current message
  442.         sarr = ml.split("\n"); // parse out fields
  443.         processLogOutputEntry(); // output log entry
  444.         
  445.         // save information for sorting
  446.         LogArray[LogArrayIx++] = ml; // Complete Record
  447.         LogArray[LogArrayIx++] = mtypen; // Log Type
  448.         LogArray[LogArrayIx++] = sarr[1]; // Event Type
  449.         LogArray[LogArrayIx++] = sarr[7]; // Computer Name
  450.         LogArray[LogArrayIx++] = sarr[4]; // Event Source
  451.         LogArray[LogArrayIx++] = sarr[2]+" "+sarr[3]; // Date/Time
  452.         LogArray[LogArrayIx++] = sarr[6]; // Event ID
  453.         LogArray[LogArrayIx++] = sarr[5]; // Event Category
  454.         ++Lindx;
  455.     }
  456.     ELogText.insertAdjacentHTML("beforeEnd",FOps);
  457.    //StatusPrintButton.className = "BoxButton"; // enable button
  458.    StatusPrintButton.disabled = ""; // enable button   
  459.     if ( i >= msgcnt ) { // if done
  460.         RTid = setTimeout("processEventLogRead()",10); // Delay, then check next
  461.     }
  462.     else { // otherwise pause
  463.         top.Rstatus.Pstat(cStatMsg+"; Message Processed Count is: "+i);
  464.         msgnext = i; // save next
  465.         RTid = setTimeout("processEventLogRecord()",10); // Delay, then continue
  466.     }
  467. }
  468. function processLogOutputEntry() {
  469.     // Determine Event Type; Check if not filtered
  470.     Etyp = "Info"; //preset
  471.     EImg ="EInfo";
  472.     if ( sarr[1] == "1" ) { // Error Type
  473.         if ( !EventErr.checked ) return; // skip
  474.         Etyp = "Error"; EImg = "EErr";
  475.     }
  476.     else if ( sarr[1] == "2" ) { 
  477.         if ( !EventWarn.checked ) return; // skip
  478.         Etyp = "Warn"; EImg = "EWarn"; 
  479.     }
  480.     else if ( sarr[1] == "4" ) {
  481.         if ( !EventInfo.checked ) return; // skip
  482.         Etyp = "Info"; EImg ="EInfo";
  483.     }
  484.     else if ( sarr[1] == "8" ) {
  485.         if ( !EventSec.checked ) return; // skip
  486.         Etyp = "Sec"; EImg ="ESecurity";
  487.     }
  488.     else if ( sarr[1] == "16" ) {
  489.         if ( !EventSec.checked ) return; // skip
  490.         Etyp = "Sec"; EImg ="ESecurityFailure";
  491.     }
  492.     else
  493.         return;
  494.  
  495.     if ((ELBgFlg ^= 1) == 0) {
  496.         FOps += '<div id="Logline'+Lindx+'" style="background-color:white">';
  497.     }
  498.     else {
  499.         FOps += '<div id="Logline'+Lindx+'" style="background-color:e8e8e8">';
  500.     }
  501.     FOps += '<table border="0" cellpadding="1" cellSpacing="1" width="1200"><tr>';
  502.     FOps += '<td width="20" class="optext">';
  503.     FOps += mtype + '</td>';
  504.     FOps += '<td width="30" align="center" class="optext"><img src="images/';
  505.     FOps += EImg + '.gif" align="absmiddle" width="17" height="18"></td>';
  506.     FOps += '<td width="175" class="optext">';
  507.     FOps += sarr[7] + '</td>';
  508.     FOps += '<td width="105" class="optext">';
  509.     FOps += sarr[4] + '</td>';
  510.     FOps += '<td width="130" class="optext">';
  511.     FOps += sarr[2]+' '+sarr[3] + '</td>';
  512.     FOps += '<td width="45" class="optext">';
  513.     FOps += sarr[6] + '</td>';
  514.     FOps += '<td width="60" colspan="1" class="optext">';
  515.     if ( XCat == "1" ) { // include Category
  516.         FOps += ((sarr[5] == "0")?"NONE":sarr[5]);
  517.     }
  518.     FOps += '</td>';
  519.     if ( XCm == "1" ) { // include Complete Message
  520.         FOps += '<td width="*" colspan="1" style="cursor:default" title="'+sarr[8]+'" class="optext">';
  521.         if ( sarr[8].length > 100 ) {
  522.             cmsg = sarr[8].substring(0,99)+"...";
  523.         }  
  524.         else {
  525.               cmsg = sarr[8];
  526.         }
  527.         FOps += cmsg + '</td>';
  528.     }
  529.     else {
  530.         FOps += '<td width="*" colspan="1" style="cursor:default" class="optext"></td>';
  531.     }
  532.     FOps += '</tr></table></div>';
  533. }
  534.  
  535. // Process Specify and Done Button Click
  536. function processSpecifyButton() {
  537.    LogClear.checked = ""; // reset clear log checkbox
  538.     processLogClear();
  539.     PopUpDiv.style.display = ""; // enable Pop-Up
  540.     if ( lima0.expanded == "0"  ) { // expand first group if necessary
  541.         procGrpImgClick(lima0,true);
  542.     }
  543. }
  544. function checkSelUnselButtons() {
  545.     if ( GroupExpandedCount > 0 ) { 
  546.        SetButtonState(bSelC,"0");
  547.        SetButtonState(bUselC,"0");
  548.    }
  549.    else { // otherwise disable the buttons
  550.        SetButtonState(bSelC,"1");
  551.        SetButtonState(bUselC,"1");
  552.    }
  553. }
  554. var esdt = "";
  555. var eedt = "";
  556. function processDoneButton() {
  557.     if ( !LogAppl.checked && !LogSec.checked && !LogSys.checked && !LogDir.checked && !LogDns.checked && !LogRep.checked) {
  558.         top.Rstatus.Pstat("Please select at least one LOG for viewing",true);
  559.         alert("Please select at least one LOG for viewing");
  560.         return;
  561.     }
  562.     if ( LogClear.checked ) {
  563.         if ( document.body.UserRights == "0" ) {
  564.            alert("Clear Event Logs is not allowed. View Only Analyst privileges allowed for your logon name");
  565.            return; 
  566.         }
  567.         if ( !confirm("Are you sure you want to archive and clear the selected Logs?") ) {
  568.             return;        
  569.         }    
  570.     }
  571.     else if ( LogClearOnly.checked ) {
  572.         if ( document.body.UserRights == "0" ) {
  573.            alert("Clear Event Logs is not allowed. View Only Analyst privileges allowed for your logon name");
  574.            return; 
  575.         }
  576.         if ( !confirm("Are you sure you want to only clear the selected Logs?") ) {
  577.             return;        
  578.         }    
  579.     }
  580.     else if ( !EventErr.checked && !EventWarn.checked && !EventInfo.checked && !EventSec.checked) {
  581.         top.Rstatus.Pstat("Please select at least one log FILTER",true);
  582.         alert("Please select at least one log FILTER");
  583.         return;
  584.     }
  585.     // Find count of selected computers
  586.     var CompArr = "";
  587.       for ( var i=0, j=0, k=0; i<CompRecCount; ++i ) {
  588.           j = (i*CompRecLength); // index to Computer entry in store
  589.           if ( AC_CompStoreArr[j+4] == "1" ) { // if selected
  590.              ++k; // bump array index
  591.              CompArr += AC_CompStoreArr[j]+"~";
  592.          }
  593.     }
  594.     ftxt = (LogClear.checked || LogClearOnly.checked) ? ((LogClear.checked) ? "archiving and clearing" : "clearing only") : "viewing";
  595.     if ( k==0 ) {
  596.         top.Rstatus.Pstat("Please select at least one COMPUTER for "+ftxt,true);
  597.         alert("Please select at least one COMPUTER for "+ftxt);
  598.         return;
  599.     }
  600.  
  601.     // save Selected Logs
  602.     var Uselc = LogAppl.checked+"~"+LogSec.checked+"~"+LogSys.checked+"~";
  603.     Uselc += LogDir.checked+"~"+LogDns.checked+"~"+LogRep.checked;
  604.     CompArr = Uselc+";"+CompArr; // Create Array of Logs and ComputerIDs if it is a Clear;
  605.     
  606.     Uselc += "~"+EventErr.checked+"~"+EventWarn.checked+"~"+EventInfo.checked+"~"+EventSec.checked;
  607.     Uselc += "~"+ExclCat.checked+"~"+ExclCMsg.checked;
  608.     RpmCC_AL.RegSetKey(top.banner.ServerID+"EventLogChoice",Uselc);
  609.     processClearButton();
  610.     if ( LogClear.checked || LogClearOnly.checked) {
  611.         CompArr = (LogClear.checked) ? "1;"+CompArr : "0;"+CompArr;
  612.         RpmCC_AL.ClearEventLog(CompArr);
  613.         alert("Log "+ftxt+" request has been sent!");
  614.         return;
  615.     }
  616.  
  617.         var DobjCT = new Date(); // current date
  618.         var Dobj = new Date(sdt.value); // specified d/t
  619.         if ( !isNaN(Dobj) ) { // if valid date
  620.             var Dy = Dobj.getFullYear();
  621.             var Dm = Dobj.getMonth()+1;
  622.             var Dd = Dobj.getDate();
  623.             var Dh = Dobj.getHours();
  624.             var Dt = Dobj.getMinutes();
  625.             // format as argument string to pass in Chart Open
  626.             esdt = Dy+","+Dm+","+Dd+","+Dh+","+Dt;
  627.         }
  628.         if ( isNaN(Dobj) || Dy > DobjCT.getFullYear() || Dm > 12 || Dd > 31 || Dh > 23 || Dt > 59 ) {
  629.             alert("Start Date/time: "+sdt.value+" is invalid!  Please check and reenter.")
  630.             return;
  631.         }
  632.         
  633.         if ( edt.value != "" ) {
  634.             var DobjE = new Date(edt.value); // specified d/t
  635.             if ( !isNaN(DobjE) ) { // if valid date
  636.                 var Dy = DobjE.getFullYear();
  637.                 var Dm = DobjE.getMonth()+1;
  638.                 var Dd = DobjE.getDate();
  639.                 var Dh = DobjE.getHours();
  640.                 var Dt = DobjE.getMinutes();
  641.                 // format as argument string to pass in Chart Open
  642.                 eedt = Dy+","+Dm+","+Dd+","+Dh+","+Dt;
  643.             }
  644.             if ( isNaN(DobjE) ) {
  645.                 alert("End Date/time: "+edt.value+" is invalid!  Please check and reenter.")
  646.                 return;
  647.             }
  648.             if ( DobjE.getTime() < Dobj.getTime() ) {
  649.                 alert("End Date/time: "+edt.value+" is earlier than Start Date/time!  Please check and reenter.")
  650.                 return;
  651.             }
  652.         }
  653.     
  654.     top.Rstatus.Pstat("");
  655.     PopUpDiv.style.display = "none";
  656.  
  657.     NextLogReadIndex = 0; // initialize Event Log Read Loop index
  658.     NextLogReadComputer = 0;
  659.     LogArray.length = 0;
  660.     LogArrayIx = 0;
  661.     WarningBox1.style.display = "none";
  662.     WarningBox.style.display = "";
  663.     processEventLogRead();
  664.  
  665.    //SpecifyButton.className = "BoxButton"; // enable button
  666.    SpecifyButton.disabled = ""; // enable button
  667.     SpecificationsMade = false; // reset Flag
  668. }
  669. function processCancelButton() {
  670.     top.Rstatus.Pstat("");
  671.     PopUpDiv.style.display = "none";
  672.    //SpecifyButton.className = "BoxButton"; // enable button
  673.    SpecifyButton.disabled = ""; // enable button
  674.     SpecificationsMade = false; // reset Flag
  675. }
  676. function processLogClear() {
  677.     LogClearOnly.checked = "";
  678.     processLogClearArchive();
  679. }
  680. function processLogClearOnly() {
  681.     LogClear.checked = "";
  682.     processLogClearArchive();
  683. }
  684. function processLogClearArchive() {
  685.     if ( LogClear.checked || LogClearOnly.checked) {
  686.        EventWarn.disabled = "disabled";
  687.        EventErr.disabled = "disabled";
  688.        EventInfo.disabled = "disabled";
  689.        EventSec.disabled = "disabled";
  690.        ExclCMsg.disabled = "disabled";
  691.        ExclCat.disabled = "disabled";
  692.        sdt.disabled = edt.disabled = "disabled";
  693.        sdt.className = "idis";    
  694.        edt.className = "idis";    
  695.     }    
  696.     else {
  697.        EventWarn.disabled = "";
  698.        EventErr.disabled = "";
  699.        EventInfo.disabled = "";
  700.        EventSec.disabled = "";
  701.        ExclCMsg.disabled = "";
  702.        ExclCat.disabled = "";
  703.        sdt.disabled = edt.disabled = "";
  704.        sdt.className = "";    
  705.        edt.className = "";    
  706.     }
  707. }
  708.  
  709. // Process to Toggle the Hide and Show of the Banner & Menu Frames
  710. var hideToggle = 0;
  711. var TitleDivSize = 98;
  712. function processBannerMenu() {
  713.     if ( hideToggle == 0 ) {
  714.         top.BannerMenuHide(); hideToggle = 1;
  715.         ServerWatchTitleDiv.style.display = "none"; 
  716.         TitleDivSize = 54; 
  717.     }
  718.     else {
  719.         top.BannerMenuShow(); hideToggle = 0;   
  720.         ServerWatchTitleDiv.style.display = "";  
  721.         TitleDivSize = 98;
  722.     }   
  723. }
  724.  
  725. function PopUpContextOpen() {
  726. }
  727. function PopUpContextClose() {
  728. }
  729.  
  730. //-->
  731. </script>
  732.  
  733. <script LANGUAGE="JavaScript" src="js/MiscFunc.js"></script>
  734. <script LANGUAGE="JavaScript" src="js/GroupComputerTreeFunc.js"></script>
  735.  
  736. <script LANGUAGE="JavaScript" FOR="RpmCC_AL" EVENT="Connected()">
  737. <!--
  738. processConnectConfirmed();
  739. //-->
  740. </script> 
  741.  
  742.  
  743. <script
  744. LANGUAGE="JavaScript" FOR="RpmCC_AL" EVENT="Disconnected()">
  745. <!--
  746. top.Rstatus.Pstat("Disconnected",true);
  747. if ( Tid != null ) {
  748.     clearTimeout(Tid); // stop timeout routine
  749. }
  750. Tid = setTimeout("processReconnect()",10000); // Delay 10 secs then try reconnnect
  751. //-->
  752. </script>
  753.  
  754. <script LANGUAGE="JavaScript" FOR="RpmCC_AL" EVENT="DBChanged(cdata)">
  755. <!--
  756. var warr = new Array();
  757. warr = cdata.split("~"); // parse the event data
  758. // if Computer or Group Table changed
  759. if ( warr[0] == "2" || warr[0] == "5" ) {
  760.     top.banner.processDBChangeNotifyEvent(cdata);
  761. }
  762. //-->
  763. </script>
  764.  
  765. <script LANGUAGE="JavaScript" FOR="RpmCC_AL" EVENT="ComputerLookupRecord(Cid,Gid,SrvID,Nme,Desc,Pswd,OSVer,Addr,Port)">
  766. <!--
  767. processCompAddToStore(Nme,Desc,Cid,Gid,OSVer);
  768. //-->
  769. </script> 
  770.  
  771. <script LANGUAGE="JavaScript" FOR="RpmCC_AL" EVENT="ComputerOpComplete()">
  772. <!--
  773. processComputerLookupComplete();
  774. //-->
  775. </script> 
  776.  
  777. <script LANGUAGE="JavaScript" FOR="RpmCC_AL" EVENT="ComputerOpError()">
  778. <!--
  779. processELComputerOpError();
  780. //-->
  781. </script> 
  782.  
  783. <script FOR="RpmCC_AL" EVENT="GroupOpComplete()">
  784. <!--
  785. processGroupOpComplete();
  786. //-->
  787. </script> 
  788.  
  789. <script FOR="RpmCC_AL" EVENT="GroupOpError()">
  790. <!--
  791. processGroupOpError();
  792. //-->
  793. </script>
  794.  
  795. <script FOR="RpmCC_AL" EVENT="GroupLookupRecord(Gid,GNme,GDesc)">
  796. <!--
  797. processGroupLookupRecord(Gid,GNme,GDesc);
  798. //-->
  799. </script> 
  800.  
  801. <script LANGUAGE="JavaScript" FOR="RpmCC_AL" EVENT="ReceiveEventLogHeader(nLength, szText)">
  802. <!--
  803. processEventLogHeader(szText);
  804. //-->
  805. </script>
  806. <script LANGUAGE="JavaScript" FOR="RpmCC_AL" EVENT="ReceiveEventLogRecord(nLength, szText)">
  807. <!--
  808. RcvMsgQueue[RcvMsgQueueCount++] = szText;
  809. if ( RTid == null ) {
  810.     RTid = setTimeout("processEventLogRecord()",10); // Delay 10 msecs, then process
  811. }
  812. //-->
  813. </script>
  814.  
  815. <script FOR="RpmCC_AL" EVENT="EventLogNoAgentConnection(Cid)">
  816. <!--
  817. processNoAgentConnection(Cid);
  818. //-->
  819. </script> 
  820.  
  821. <script LANGUAGE="JavaScript" FOR="RpmCC_AL" EVENT="StartCommunication()">
  822. <!--
  823. //top.banner.processStartComm();
  824. //-->
  825. </script> 
  826.  
  827. <script LANGUAGE="JavaScript" FOR="RpmCC_AL" EVENT="StopCommunication()">
  828. <!--
  829. top.banner.processStopCommX();
  830. //-->
  831. </script> 
  832.  
  833. <script LANGUAGE="JavaScript" src="js/PopUpMenuFunc.js"></script>
  834.  
  835. <object ID="RpmCC_AL" NAME="RpmCC_AL" WIDTH="14" HEIGHT="1" style="display:none"
  836. CLASSID="CLSID:D88C2358-FC83-11D1-BF49-00104B2D6F80" CODEBASE="controls/RPMComm.cab#version=5,2,0,0">
  837.   <param name="_Version" value="65536">
  838.   <param name="_ExtentX" value="2646">
  839.   <param name="_ExtentY" value="1341">
  840.   <param name="_StockProps" value="0">
  841. </object>
  842.  
  843. <!-- Invisible Object to Support Simulated Click Event -->
  844. <button id="FakeBut" style="display:none" onclick="top.banner.savePageCoord(event,document.body,'ViewEventLogs')">
  845. </button>
  846.  
  847. <!-- Define Images used in dynamic HTML generation to force loading and caching now -->
  848. <div style="display:none">
  849. <img src="images/Unchecked.gif"><img src="images/Computer.gif"><img src="images/Checked.gif">
  850. <img src="images/CloseImg.gif"><img src="images/White.gif"><img src="images/Lplus.gif">
  851. <img src="images/I.gif"><img src="images/Tplus.gif"><img src="images/L.gif">
  852. <img src="images/topopen.gif"><img src="images/T.gif"><img src="images/OpenImg.gif">
  853. </div>
  854.  
  855. <center>
  856.  
  857.  <div id="VA_MainBox" class="VAMainBox" style="display:none">
  858.  
  859.  
  860. <!-- PopUp to Prompt for Logs and Computers to Read -->
  861.  
  862. <div id="PopUpDiv" class="PopUpSSBox" style="display:none; overflow : none; left:150; top:150; ">
  863.  
  864.      <center>
  865.        <table width="100%" align="center" border="0" cellspacing="0" cellpadding="0" >
  866.        
  867.          <tr><td height="23" style="font-weight:800; font-size:11pt; background-color:graytext; color:captiontext" align="center">Specify Servers/Computers and Event Log Types to View</td></tr>
  868.  
  869.             <tr><td width="100%" class="optext" align="center">
  870.       <div style="width:100%" id="LogChoice" align="left">
  871.                  
  872.         <table align="center" width="99%" border="0" cellpadding="0" cellspacing="0">
  873.             <tr><td width="*" height="5"></td></tr>
  874.         </table>
  875.  
  876.         <table style="background-color:activeborder" align="center" width="99%" border="1" cellpadding="0" cellspacing="0">
  877.     <tr><td width="5%"></td><td borderColor="activeborder" colspan="4" width="*" align="left" class="optextb">Select Event Logs to View:</td></tr>
  878.     <tr><td width="5%"></td><td width="2%"></td><td borderColor="activeborder" width="30%" align="left" class="optext"><INPUT TYPE="checkbox" NAME="LogAppl"> Application Log</td><td borderColor="activeborder" width="25%" align="left" class="optext">  <INPUT TYPE="checkbox" NAME="LogSec"> Security Log</td><td borderColor="activeborder" width="*" align="left" class="optext">  <INPUT TYPE="checkbox" NAME="LogSys"> System Log</td></tr>
  879.    <tr><td width="5%"></td><td width="2%"></td><td borderColor="activeborder" width="30%" align="left" class="optext"><INPUT TYPE="checkbox" NAME="LogDir"> Directory Service Log</td><td borderColor="activeborder" width="25%" align="left" class="optext">  <INPUT TYPE="checkbox" NAME="LogDns"> DNS Server Log</td><td borderColor="activeborder" width="*" align="left" class="optext">  <INPUT TYPE="checkbox" NAME="LogRep"> File Replication Service Log</td></tr>
  880.     <tr><td width="5%"></td><td borderColor="activeborder" colspan="4" width="*" align="left" class="optextb">Archive and Clear the Selected Event Logs:<INPUT TYPE="checkbox" NAME="LogClear" onclick="processLogClear()">  Clear Only:<INPUT TYPE="checkbox" NAME="LogClearOnly" onclick="processLogClearOnly()"></tr>
  881.         </table>
  882.  
  883.     <table align="center" width="99%" border="0" cellpadding="0" cellspacing="0">
  884.     <tr><td width="*" height="5"></td></tr>
  885.     </table>
  886.  
  887.     <table style="background-color:activeborder" align="center" width="99%" border="1" cellpadding="0" cellspacing="0">
  888.     <tr><td width="5%"></td><td borderColor="activeborder" colspan="3" width="*" align="left" class="optextb">Select Event Type Filters:</td></tr>
  889.     <tr><td width="5%"></td><td width="8%"></td><td borderColor="activeborder" width="35%" align="left" class="optext"><INPUT TYPE="checkbox" NAME="EventErr"><img src='images/EErr.gif' align='absmiddle' width='17' height='18'> Error Events</td><td borderColor="activeborder" width="*" align="left" class="optext"><INPUT TYPE="checkbox" NAME="EventWarn"><img src='images/EWarn.gif' align='absmiddle' width='17' height='18'> Warning Events</td></tr>
  890.     <tr><td width="5%"></td><td width="5%"></td><td borderColor="activeborder" width="35%" align="left" class="optext"><INPUT TYPE="checkbox" NAME="EventInfo"><img src='images/EInfo.gif' align='absmiddle' width='17' height='18'> Information Events</td><td borderColor="activeborder" width="*" align="left" class="optext"><INPUT TYPE="checkbox" NAME="EventSec"><img src='images/ESecurity.gif' align='absmiddle' width='17' height='18'> Security Check Events</td></tr>
  891.     </table>
  892.  
  893.     <table align="center" width="99%" border="0" cellpadding="0" cellspacing="0">
  894.     <tr><td width="*" height="5"></td></tr>
  895.     </table>
  896.  
  897.     <table style="background-color:activeborder" align="center" width="99%" border="1" cellpadding="0" cellspacing="0">
  898.     <tr><td width="5%"></td><td colspan="3" borderColor="activeborder" width="*" align="left" class="optextb">Exclude Following Information For Faster Log Retrieval:</td></tr>
  899.     <tr><td width="5%"></td><td width="8%"></td><td borderColor="activeborder" width="35%" align="left" class="optext"><INPUT TYPE="checkbox" NAME="ExclCat"> Exclude Category</td><td borderColor="activeborder" width="*" align="left" class="optext"><INPUT TYPE="checkbox" NAME="ExclCMsg"> Exclude Event Description</td></tr>
  900.     </table>
  901.  
  902.     <table align="center" width="99%" border="0" cellpadding="0" cellspacing="0">
  903.     <tr><td width="*" height="5"></td></tr>
  904.     </table>
  905.  
  906.     <table style="background-color:activeborder" align="center" width="99%" border="1" cellpadding="0" cellspacing="0">
  907.     <tr><td width="50%" align="right" borderColor="activeborder" class="optextb">Start Date/Time: <input TYPE="text" SIZE="20" id="sdt" maxLength="64" >  </td><td width="50%" align="left" borderColor="activeborder" class="optextb">  End Date/Time: <input TYPE="text" SIZE="20" id="edt" maxLength="64" ></td></tr>
  908.     </table>
  909.  
  910.     <table align="center" width="99%" border="0" cellpadding="0" cellspacing="0">
  911.     <tr><td width="*" height="8"></td></tr>
  912.     </table>
  913.  
  914. </div></td></tr>
  915.  
  916. <tr><td width="100%" class="optext" align="center">  <div id="AL_CCOneEventLog" class="PopUpBox"></div>
  917. </td></tr>
  918.  
  919.     <tr><td><table border="1" cellspacing="1" cellpadding="1" height="40" width="100%">               
  920.         <tr><td align="center" width ="100%"><button onclick="processSelect('0')" style="font-family:arial; font-size : 8pt; font-weight : 600; cursor:hand" style="width:80px; height:28px" id="bSelC" disabled><img src="images/selectall.gif" align="absmiddle" height="15" width="14">Select All</button>  <button onclick="processSelect('1')" style="font-family:arial; font-size : 8pt; font-weight : 600; cursor:hand" style="width:93px; height:28px" id="bUselC" disabled><img src="images/unselectall.gif" align="absmiddle" height="15" width="14">Unselect All</button>  <button id="DoneButton" style="font-family:arial; font-size : 8pt; font-weight : 600; cursor:hand" title="Read Selected Logs from Selected Computers" style="width:80px; height:28px" onClick="processDoneButton()"><img src="images/apply.gif" align="absmiddle" height="16" width="16"> Go  </button>  <button id="CancelButton" title="Cancel and Exit" style="width:80px; height:28px" style="font-family:arial; font-size : 8pt; font-weight : 600; cursor:hand" onClick="processCancelButton()"><img src="images/reset.gif" align="absmiddle" height="15" width="15"> Cancel</button> </td></tr></table></td></tr>
  921.      </table>
  922.       </center>  
  923. </div>
  924.  
  925. <!--  End of Pop-Up ---------------------------------------------->
  926.  
  927.  
  928.  
  929.   <div id="ServerWatchTitleDiv"><table border="1"  borderColor="activeborder" align="left">
  930.     <tr><td borderColorDark="graytext" borderColorLight="white" style="font-weight:800; font-size:12pt; background-color:threedhighlight; color:windowtext"> <img src="images/sEventViewer.gif" align="absmiddle" height="16" width="16"> Event Log Viewer </td></tr>
  931. </table>
  932. <BR CLEAR=ALL><HR align="left"></div>
  933.  
  934.  
  935. <center class="inputlabel">Event Log</center>
  936. <div class="EventLog" ID="ELogWin" style="width:98%" align="left">
  937.  
  938. <center><div style="display:none; width:100%" id="WarningBox" align="center"><table border="0" cellpadding="0" cellspacing="2">
  939.   <tr>
  940.     <td width="43"><img src="images/HourGlass.gif" width="32" height="32" alt="Please Wait!" align="bottom" border="0"></td>
  941.     <td width="*" style="font-family:Arial; font-size:10pt; font-weight:bold; color:infotext">Please Wait For Selected Event Log Messages!</td>
  942.   </tr>
  943. </table>
  944. </div>
  945. <div style="display:none; width:100%" id="WarningBox1" align="center"><table border="0" cellpadding="0" cellspacing="2">
  946.   <tr>
  947.     <td width="*" style="font-family:Arial; font-size:10pt; font-weight:bold; color:red">There Are No Eligible Event Log Messages Available!</td>
  948.   </tr>
  949. </table>
  950. </div></center>
  951.  
  952.  
  953. <span id="ELogText"></span></div>
  954.  <div style="height:0px; width:100%" align="center">
  955.    <table border="1" cellspacing="1" cellpadding="1" height="40" width="100%">
  956.     <tr>
  957.         <td width="20%"> </td><td align="center" width ="60%"><button id="SpecifyButton" style="font-family:arial; font-size : 8pt; font-weight : 600; cursor:hand" title="Specify Servers/Services to Monitor" style="width:90px; height:29px" onClick="processSpecifyButton()" disabled> <img src="images/ConfigImg.gif" align="absmiddle" height="18" width="17"> Specify</button> <button id="StatusPrintButton" title="Print Event Log Data" onclick="if (this.bdis == '0') processPrintStatus();" bdis="0" style="width:90px; height:29px" style="font-family:arial; font-size : 8pt; font-weight : 600; cursor:hand" DISABLED><img src="images/Printer.gif" align="absmiddle" height="15" width="17"> Print</button></td><td width="20%" align="right"><button onclick="processBannerMenu()" title="Press to Toggle Hide/Show of Menu and Banner Frames" style="cursor:hand"><img src="images/FullView.gif" align="absmiddle" height="16" width="16"></button></td></tr>
  958.    </table>
  959.   </div>
  960.  </center></div>
  961.  
  962.  
  963. </center>
  964. </body>
  965. </html>
  966.